﻿#pragma warning(disable: 4477)
#pragma warning(disable: 4996)
#pragma warning(disable: 6031)
#pragma warning(disable: 6054)
/*

 */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

typedef struct TContext_s
{
	int n;
	int a[10];
	char buf[1001];
}TContext;

TContext context;
 
void read_data(TContext* ctx)
{
	scanf("%s", ctx->buf);
	ctx->n = strlen(ctx->buf);
}

void do_task(TContext* ctx)
{
	char* p = ctx->buf;
	int a[10] = { 0 };
	while (*p)
	{
		a[*p - '0']++;
		++p;
	}
	for (int i = 0; i < 10; ++i)
	{
		if(a[i])
			printf("%d:%d\n", i, a[i]);
	}
}

void solve(TContext* ctx)
{
	read_data(ctx);
	do_task(ctx);
}

int main()
{
	freopen("D:/Develop/GitRepos/MOOC/浙江大学/数据结构/201906/DataStructure/M2019秋C入门和进阶练习集/7-123.txt", "r", stdin);
	solve(&context);
	return 0;
}
